package com.ljw.spring;

/**
 * @author 一朝风月
 * @date 2024/6/21 09:39
 * @Code 面向注解面向卿，终无解释再无你
 * @description 自动注入枚举
 */
public enum Autowire {
    //在Spring底层源码中DI注入的方式有三种，分别是:
    NO(0),//不注入
    BY_NAME(1),//通过名称注入
    BY_TYPE(2);//通过类型注入

    private final int value;

    private Autowire(int value) {
        this.value = value;
    }

    public int value() {
        return this.value;
    }

    public boolean isAutowire() {
        return this == BY_NAME || this == BY_TYPE;
    }
    //1.byName: 按照属性名称进行注入
    //2.byType: 按照属性类型进行注入
    //3.constructor: 按照构造函数进行注入
    //4.autowire: 按照上述三种方式进行注入
    //5.autowireCandidate: 按照上述三种方式进行注入，但是不会注入到final修饰的属性中







}
